﻿using System;

namespace Firefly.Framework.Input
{
    public class PositionMapEventArgs<T> : EventArgs
    {
        public T CurrentPosition { get; set; }
        public T PreviousPosition { get; set; }
        public T PositionDelta { get; set; }

        public PositionMapEventArgs()
        {
        }

        public PositionMapEventArgs(T currentPosition, T previousPosition, T positionDelta)
        {
            CurrentPosition = currentPosition;
            PreviousPosition = previousPosition;
            PositionDelta = positionDelta;
        }

        public PositionMapEventArgs(IPositionMap<T> positionMap)
        {
            CurrentPosition = positionMap.CurrentPosition;
            PreviousPosition = positionMap.PreviousPosition;
            PositionDelta = positionMap.PositionDelta;
        }
    }
}
